package com.shun.upms.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.shun.common.R;
import com.shun.upms.dto.SysAdminUserDto;
import com.shun.upms.dto.SysAdminUserQueryDto;
import com.shun.upms.vo.SysAdminUser;

/**
 * <p>
 * 管理人员表 服务类
 * </p>
 *
 * @author clever
 * @since 2021-09-27
 */
public interface ISysAdminUserService extends IService<SysAdminUser> {

    /**
     * 用户账号和密码验证
     * @param acct
     * @param pwd
     * @return
     */
    R getUserIdByAccAndPwd(String acct, String pwd);

    /**
     * 新增管理用户
     * @param dto
     * @return
     */
    R addAdminUser(SysAdminUserDto dto);

    /**
     * 分页查询
     * @param dto
     * @return
     */
    R pageAdminUser(SysAdminUserQueryDto dto);

    /**
     * 获取用户全部信息
     * @return
     */
    R getUserAndRoleAndMenus();

    /**
     * 获得角色名称和Id的列表
     * @return
     */
    R getUserNameAndId();

    /**
     * 修改用户信息
     * @return
     */
    R editAdminUser(SysAdminUserDto dto);

    /**
     * 删除用户以及关联的用户表
     * @param userId
     * @return
     */
    R delAdminUserByUserId(String userId);

    /**
     * 根据角色ID获得次角色下的用户列表
     * @return
     */
    R getUsersByRoleId(String roleId);


}
